home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (c) 1990-1992, 1994 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that the name of Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE
- * POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
- // -*- C++ -*-
-
- /*
- * Copyright (C) 1990,91,92 Silicon Graphics, Inc.
- *
- _______________________________________________________________________
- ______________ S I L I C O N G R A P H I C S I N C . ____________
- |
- | $Revision: 1.1004 $
- |
- | Classes: SvManipList
- |
- | Author(s): David Mott
- |
- ______________ S I L I C O N G R A P H I C S I N C . ____________
- _______________________________________________________________________
- */
-
- #ifndef _SV_MANIP_LIST_
- #define _SV_MANIP_LIST_
-
-
- // This class helps keep track of
- // selectionPath/manip/xfPath triplets.
-
- class SbPList;
- class SoPath;
- class SoTransformManip;
-
- // You can add a selectionPath/manip/xfPath triplet to the list.
- // Methods let you find the index of this triplet based on any of the three
- // things. You can then use the index to get the selectionPath, manip, or
- // xfPath, or remove the triplet from the list.
-
- class SvManipList {
- public:
- SvManipList();
- ~SvManipList();
-
- int getLength() const;
-
- // append will ref() the paths and the manip
- void append(SoPath *selectionP,
- SoTransformManip *m, SoPath *xfP);
-
- // return the index of the triplet.
- // use this index in calls to:
- // remove(), getSelectionPath(), getManip(), getXfPath()
- int find(const SoPath *p) const;
- int find(const SoTransformManip *m) const;
- int findByXfPath(const SoPath *p) const;
-
- // remove will unref() the paths and the manip
- void remove(int which);
-
- // these return the paths or the manip.
- SoPath * getSelectionPath(int which) const;
- SoTransformManip * getManip(int which) const;
- SoPath * getXfPath(int which) const;
-
- private:
- SbPList * list;
- };
-
- #endif // _SV_MANIP_LIST_
-